package com.proyecto.track.action;

import java.util.Map;

import org.springframework.security.core.context.SecurityContextHolder;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.proyecto.track.bo.Usuario;
import com.proyecto.track.service.IProyectoService;

@SuppressWarnings("serial")
public class InicioAction extends ActionSupport {
	
	/** El service, inyectado por Spring */
	private IProyectoService proyectoService;
	
	/**
	 *	Settea una variable de sesion con el usuario que ingreso al sistema
	 *
	 * 	@return  el String que indica el result para struts
	 */
	@SuppressWarnings("unchecked")
	public String inicio(){
		
		String nombreUsuario = SecurityContextHolder.getContext()
		.getAuthentication().getName();
		
		Usuario usuario = getProyectoService().recuperarUsuarioPorUsername(nombreUsuario);
		
		@SuppressWarnings("rawtypes")
		Map session = ActionContext.getContext().getSession();
		session.put("usuario", usuario);
		//Ej de como recuperar el usuario desde session....
		//Usuario usuario = (Usuario) session.get("usuario");
		
		return SUCCESS;
	}

	public void setProyectoService(IProyectoService proyectoService) {
		this.proyectoService = proyectoService;
	}

	public IProyectoService getProyectoService() {
		return proyectoService;
	}

}
